/*
 * @Author: Clark
 * @Email: haixuanwoTxh@gmail.com
 * @Date: 2023-12-27 00:30:12
 * @LastEditors: Clark
 * @LastEditTime: 2023-12-29 11:40:19
 * @Description: file content
 */
#ifndef TOMATOCLOCK_H
#define TOMATOCLOCK_H

#include <QTimer>
#include <QFile>
#include <QDebug>
#include <QDateTime>
#include <QXmlStreamReader>
#include <QXmlStreamWriter>

#include <cstddef>

typedef struct ClockData{
    char startTime[12];  // 起始时间
    char endTime[12];  // 结束时间
}ClockData;

typedef struct TomatoClockData{
    char date[12];  // 日期
    uint32_t count;  // 时钟数
    uint64_t startPos;
}TomatoClockData;

class TomatoClock
{
public:
    TomatoClock(const QString &infoFileName, const QString &dataFileName);
    ~TomatoClock();
    bool init();
    bool add_clock();
    uint32_t get_clock_count();

private:
    uint64_t allDays;                   // 总天数
    std::shared_ptr<QFile> infoFile;    // 信息文件
    std::shared_ptr<QFile> dataFile;    // 数据文件
    std::shared_ptr<TomatoClockData> tomatoClockData;
};

#endif // TOMATOCLOCK_H
